# pip3 install pyftpdlib

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer

def main():
    # 实例化DummyAuthorizer来创建ftp用户
    authorizer = DummyAuthorizer()
    
    # 参数：用户名，密码，目录，权限
    authorizer.add_user('bluhuu', '121516', 'D:\\Download', perm='elradfmwMT')
    
    #添加匿名用户 只需要路径
    # authorizer.add_anonymous('/home/cc/')
    
    #初始化ftp句柄
    handler = FTPHandler
    handler.authorizer = authorizer
    
    #添加被动端口范围
    handler.passive_ports = range(2000, 2333)
    
    # 参数：IP，端口，handler
    address = ('192.168.3.6', 2121)
    server = FTPServer(address, handler)

    # set a limit for connections
    server.max_cons = 256
    server.max_cons_per_ip = 5

    # start ftp server
    server.serve_forever()

if __name__ == '__main__':
    main()

# 读权限 ：

# e	改变文件目录
# l	列出文件
# r	从服务器接收文件

# 写权限 ：

# a	文件上传
# d	删除文件
# f	文件重命名
# m	创建文件
# w	写权限
# M	文件传输模式（通过FTP设置文件权限 ）